package epucjr.psicopuc.dominio;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

import org.hibernate.search.annotations.ContainedIn;
import org.hibernate.search.annotations.DocumentId;
import org.hibernate.search.annotations.Field;
import org.hibernate.search.annotations.Indexed;

@Entity
@Indexed
public class Escolaridade {
	
	/************************
	 * ATRIBUTOS
	 ***********************/
	@Id
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	@DocumentId
	private long idEscolaridade;
	@Field
	private String escolaridade;
	private String grauDaEscolaridade;
	private String anoDeConclusao;
	private String instituicao;
	private String curso;
	private String tipoDeEnsinoMedio;
	private String tipoDeEnsinoPosGraduacao;
	
	@ContainedIn
	@ManyToOne
	@JoinColumn(name="id_curriculo", insertable=false, updatable=false)
	private Curriculo curriculo;
	
	/************************
	 * CONSTRUTOR
	 ***********************/
	
	public Escolaridade() {
		this.escolaridade = "";
		this.grauDaEscolaridade = "";
		this.anoDeConclusao = "";
		this.instituicao = "";
		this.curso = "";
	}
	
	//Construtor para Escolaridade Ensino Superior
	public Escolaridade(String escolaridade, String grauDaEscolaridade,
			String anoDeConclusao, String instituicao, String curso) {
		this.escolaridade = escolaridade;
		this.grauDaEscolaridade = grauDaEscolaridade;
		this.anoDeConclusao = anoDeConclusao;
		this.instituicao = instituicao;
		this.curso = curso;
	}
	
	public Escolaridade(String escolaridade, String grauDaEscolaridade,
			String anoDeConclusao, String instituicao, String curso, String tipoDeEnsinoMedio, String tipoDeEnsinoPosGraduacao) {
		this.escolaridade = escolaridade;
		this.grauDaEscolaridade = grauDaEscolaridade;
		this.anoDeConclusao = anoDeConclusao;
		this.instituicao = instituicao;
		this.curso = curso;
		this.tipoDeEnsinoMedio = tipoDeEnsinoMedio;
		this.tipoDeEnsinoPosGraduacao = tipoDeEnsinoPosGraduacao;
	}

	/************************
	 * GETTERS/SETTERS
	 ***********************/
	
	public String getEscolaridade() {
		return escolaridade;
	}
	public void setEscolaridade(String escolaridade) {
		this.escolaridade = escolaridade;
	}
	public String getGrauDaEscolaridade() {
		return grauDaEscolaridade;
	}
	public void setGrauDaEscolaridade(String grauDaEscolaridade) {
		this.grauDaEscolaridade = grauDaEscolaridade;
	}
	public String getAnoDeConclusao() {
		return anoDeConclusao;
	}
	public void setAnoDeConclusao(String anoDeConclusao) {
		this.anoDeConclusao = anoDeConclusao;
	}
	public String getInstituicao() {
		return instituicao;
	}
	public void setInstituicao(String instituicao) {
		this.instituicao = instituicao;
	}
	public String getCurso() {
		return curso;
	}
	public void setCurso(String curso) {
		this.curso = curso;
	}
	public long getIdEscolariedade() {
		return idEscolaridade;
	}
	public void setIdEscolariedade(long idEscolariedade) {
		this.idEscolaridade = idEscolariedade;
	}

	public Curriculo getCurriculo() {
		return curriculo;
	}

	public void setCurriculo(Curriculo curriculo) {
		this.curriculo = curriculo;
	}

	public String getTipoDeEnsinoMedio() {
		return tipoDeEnsinoMedio;
	}

	public void setTipoDeEnsinoMedio(String tipoDeEnsinoMedio) {
		this.tipoDeEnsinoMedio = tipoDeEnsinoMedio;
	}

	public String getTipoDeEnsinoPosGraduacao() {
		return tipoDeEnsinoPosGraduacao;
	}

	public void setTipoDeEnsinoPosGraduacao(String tipoDeEnsinoPosGraduacao) {
		this.tipoDeEnsinoPosGraduacao = tipoDeEnsinoPosGraduacao;
	}
	
	


}
